/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package manejoExcepciones;

import acceso.Proveedor;
import gestion.GestionTransaccion;
import interfaz.InterfaceEjp;
import java.util.List;

/**
 *
 * @author Adriano
 */
public class Excepciones extends Exception{

    public Excepciones (String Mensaje){

        super(Mensaje);

    }

/**
     * Excepcion que verifica si los campos obligatorios para introducir un
      * producto se encuentran llenos
     *
     * @param String Nombre, String Preciom String Cantidad y string Presentacion
     *        Campos obligatorios para registrar un producto.
     *
     */

    public static void CamposNoLlenos(String Nombre, String Precio, String Cantidad,
    String Presentacion)throws Excepciones{

        if (Nombre.equalsIgnoreCase("") || Precio.equalsIgnoreCase("")
       || Cantidad.equalsIgnoreCase("") || Presentacion.equalsIgnoreCase("")){

            throw new Excepciones("Campos Obligatorios no Llenos");

        }

    }


public static void CamposNoLlenos(String nombre, int tipo, String direccion
            ,String nombreContacto,String numeroContacto)throws Excepciones{

      if(nombre.isEmpty() || direccion.isEmpty() || tipo==0 || nombreContacto.isEmpty()
              || numeroContacto.isEmpty())
            throw new Excepciones("Campos Obligatorios no Llenos.");

        }

     public static void validaProveedorExistente(String rif)throws Excepciones{
         interfaz.InterfaceEjp ejp = gestion.GestionSpring.getSingleton().MetodoGestion();
         Proveedor proveedor = ejp.BuscarProveedor(new Long(rif));
         if(proveedor!=null)
            throw new Excepciones("Ya existe este proveedor.");

        }


public static void validaRif(String rif)throws Excepciones{
           if(rif.length()!=10)
            throw new Excepciones("El rif debe tener 10 caracteres almenos.");

        }

public static void validaProveedorRepetido(String rif)throws Excepciones{
     InterfaceEjp ejp = gestion.GestionSpring.getSingleton().MetodoGestion();
     if(ejp.BuscarProveedor(new Long(rif))!=null)
    throw new Excepciones("Este proveedor ya esta registrado.");

        }

public static void validaCodigoArea(String codigo)throws Excepciones{
           if(codigo.length()!=4)
            throw new Excepciones("El codigo de area no cumple con el formato.");

        }
public static void validaNumeroTlf(String numero)throws Excepciones{
           if(numero.length()!=7)
            throw new Excepciones("El numero telefonico no cumple con el formato.");

        }


    public static void CamposNoLlenos(String codigo, String nombre, int tipo
            )throws Excepciones{

      if(codigo.isEmpty() && nombre.isEmpty() && tipo==0)
            throw new Excepciones("No selecciono ningun filtro de busqueda.");

        }

public static void listaVacia(List lista
        )throws Excepciones{

      if(lista.size()==0)
            throw new Excepciones("No hubo resultados en su busqueda.");

        }


    /**
     * Excepcion que verifica si los campos Precio y Cantidad son negativos o
     * iguales a cero
     *
     * @param float Precio, int Cantidad
     *        Campos numericos para registrar un producto.
     *
     */

    public static void CamposNoNegativos(float Precio, int Cantidad)
    throws Excepciones{

        if (Precio <= 0 || Cantidad <=0){
            throw new Excepciones("Los campos cantidad o precio no " +
                    "pueden ser negativos o iguales a cero (0)");

        }
    }

}
